The present invention relates to a complete mobile commerce module set that provides automated filling of forms generated by a mobile application, storage and management of information to be used by such forms, and runtime translation of content, including such forms, transmitted from an online application to a mobile device from an initial format of the content to a format supported by the mobile device.
Access and usage of data communications services have greatly increased. One important area in which growth has occurred is in the area of online applications, which are application programs that are designed to interact with an online user. With the growth of mobile communication devices, online applications have expanded to mobile devices as well. Mobile devices present special issues in the usability of online applications. For example, mobile devices tend to have small display screens, limited keyboard entry capabilities, voice interfaces, and limited memory and/or processing capabilities. With these types of devices, usability is essential. One area in which usability requires enhancement is the area of online forms included in mobile applications. A key usability issue with online forms is the capability for a user to fill out much or all of a form automatically, to have the automatic process be reliable and easy to use, and to have the automatically entered information be accurate.
One solution to automated form-filling, which has been used in the non-mobile environment, is to download software, such as a xe2x80x9cwalletxe2x80x9d or xe2x80x9cform-fillerxe2x80x9d, onto a user""s computer, where the software is installed as a plugin on top of the user""s browser software. However, a problem arises with this approach in a mobile environment, because mobile devices tend to be small and have limited memory, making plugins of any significant size impractical or unusable.
Online applications for mobile devices, or mobile applications, are typically written using high level mobile application programming languages that are tailored to use on mobile devices. There are a number of such mobile application programming languages in use. However, due to the limited memory and/or processing capabilities of many mobile devices, a particular mobile device may only support one such mobile application programming language. In order for a mobile application to be usable by all mobile devices, the mobile application must be available in any mobile application programming language that is used by the mobile devices.
One solution to this problem is for the developer of the mobile application to port the mobile application to all mobile application programming languages. However, this solution is expensive, both in terms of application development and in terms of storage of multiple version of an application.
A need arises for a technique by which mobile applications can provide improved usability in the areas of information input to the mobile application, such as to online forms, storage and management of information used with mobile applications, and support for mobile application content created using various different formats.
The present invention provides the capability by which mobile applications can provide improved usability in the areas of information input to the mobile application, such as to online forms, storage and management of information used with mobile applications, and support for mobile application content created using various different formats. The present invention utilizes a server-side approach, in which online applications for a mobile device are invoked on a server through a server-side proxy/cache. The proxy scans the content that is generated by the application for transmission to the mobile device to find forms that may be embedded in the content. When a form is encountered, fields of the form are filled with stored information based on automatically generated mapping information. The information is stored in a secure, extensible wallet used to store information for automated entry into forms transmitted from online applications to mobile devices. The proxy also translates the content that is generated by the application from an initial format to a format that is supported by the mobile device.
The method for providing access to a mobile application comprises the steps of: storing information to be entered into at least one form field in a wallet, invoking an application program in response to an indication from a user of a mobile device to do so, translating content transmitted from the application program from an initial format of the content to a format supported by the mobile device, the format supported by the mobile device being different than the initial format of the content, scanning content transmitted from the application program to the mobile device to find a form having at least one field into which information is to be entered, accessing the wallet to retrieve information to enter into the at least one field, if at least one mapping for the form exists, entering the retrieved information into the at least one field, transmitting the translated content to the mobile device, entering the retrieved information into the at least one field, and transmitting the translated content including the form including the entered information to the mobile device for display to the user.
In one aspect of the present invention, the method may further comprise the step of before performing the translating step, determining a format supported by the mobile device. The translating step may comprise the steps of translating the content transmitted from the application program from the initial format of the content to an intermediate format of the content, wherein the intermediate format is different than the initial format and translating the intermediate format of the content to the format supported by the mobile device, wherein the intermediate format is different than the format supported by the mobile device. The initial format of the content may be wireless markup language, extensible markup language, or hypertext markup language, the intermediate format may be wireless markup language, extensible markup language, or hypertext markup language, and the format supported by the mobile device may be wireless markup language, extensible markup language, or hypertext markup language.
In one aspect of the present invention, the wallet may comprise a plurality of compartments for information. The plurality of compartments for information in the wallet may have a hierarchical arrangement. The method may further comprise the steps of receiving at least one edit made by the user of the mobile device to the entered information and transmitting the form including the edited entered information to the application program. The mapping for the form may comprise information mapping at least one field of the form into which information is to be entered to at least one compartment for information in the wallet.
In one aspect of the present invention, the method may further comprise the step of creating information mapping at least one field of the form into which information is to be entered to at least one compartment for information in the wallet based on the received selection of information made by the user, if no mapping existed for the at least one field. The method may further comprise the step of updating information mapping at least one field of the form into which information is to be entered to at least one compartment for information in the wallet based on the received selection of information made by the user, if the entered information was edited by the user. The method may further comprise the steps of creating at least one compartment for information in the wallet and creating information mapping at least one field of the form into which information is to be entered to the at least one compartment for information in the wallet based on the received selection of information made by the user, if no mapping existed for the at least one field. The method may further comprise the steps of transmitting the form to the mobile device, if no mappings for the form exist, receiving at least one selection of information to be entered into the at least one field of the form into which information is to be entered made by the user of the mobile device, and transmitting the form including the selected information to the application program. The at least one selection of information may be made from information stored in a compartment for information in the wallet. The method may further comprise the step of creating information mapping at least one field of the form into which information is to be entered to the at least one compartment for information in the wallet based on the received selection of information made by the user. In one aspect of the present invention, the method may further comprise the steps of transmitting the form to the mobile device, if no mappings for the form exist, receiving at least one selection of information to be entered into the at least one field of the form into which information is to be entered made by the user of the mobile device, and transmitting the form including the selected information to the application program. The at least one selection of information may be made from information stored in a compartment for information in the wallet. The method may further comprise the step of creating information mapping at least one field of the form into which information is to be entered to the at least one compartment for information in the wallet based on the received selection of information made by the user.